use crate::bindings;

/// Linux x86-64 syscall number.
#[derive(Copy, Clone, PartialEq, Eq, Hash)]
pub struct SyscallNum(u32);

#[allow(non_upper_case_globals)]
impl SyscallNum {
    pub const NR_read: Self = Self::new(bindings::LINUX___NR_read);
    pub const NR_write: Self = Self::new(bindings::LINUX___NR_write);
    pub const NR_open: Self = Self::new(bindings::LINUX___NR_open);
    pub const NR_close: Self = Self::new(bindings::LINUX___NR_close);
    pub const NR_stat: Self = Self::new(bindings::LINUX___NR_stat);
    pub const NR_fstat: Self = Self::new(bindings::LINUX___NR_fstat);
    pub const NR_lstat: Self = Self::new(bindings::LINUX___NR_lstat);
    pub const NR_poll: Self = Self::new(bindings::LINUX___NR_poll);
    pub const NR_lseek: Self = Self::new(bindings::LINUX___NR_lseek);
    pub const NR_mmap: Self = Self::new(bindings::LINUX___NR_mmap);
    pub const NR_mprotect: Self = Self::new(bindings::LINUX___NR_mprotect);
    pub const NR_munmap: Self = Self::new(bindings::LINUX___NR_munmap);
    pub const NR_brk: Self = Self::new(bindings::LINUX___NR_brk);
    pub const NR_rt_sigaction: Self = Self::new(bindings::LINUX___NR_rt_sigaction);
    pub const NR_rt_sigprocmask: Self = Self::new(bindings::LINUX___NR_rt_sigprocmask);
    pub const NR_rt_sigreturn: Self = Self::new(bindings::LINUX___NR_rt_sigreturn);
    pub const NR_ioctl: Self = Self::new(bindings::LINUX___NR_ioctl);
    pub const NR_pread64: Self = Self::new(bindings::LINUX___NR_pread64);
    pub const NR_pwrite64: Self = Self::new(bindings::LINUX___NR_pwrite64);
    pub const NR_readv: Self = Self::new(bindings::LINUX___NR_readv);
    pub const NR_writev: Self = Self::new(bindings::LINUX___NR_writev);
    pub const NR_access: Self = Self::new(bindings::LINUX___NR_access);
    pub const NR_pipe: Self = Self::new(bindings::LINUX___NR_pipe);
    pub const NR_select: Self = Self::new(bindings::LINUX___NR_select);
    pub const NR_sched_yield: Self = Self::new(bindings::LINUX___NR_sched_yield);
    pub const NR_mremap: Self = Self::new(bindings::LINUX___NR_mremap);
    pub const NR_msync: Self = Self::new(bindings::LINUX___NR_msync);
    pub const NR_mincore: Self = Self::new(bindings::LINUX___NR_mincore);
    pub const NR_madvise: Self = Self::new(bindings::LINUX___NR_madvise);
    pub const NR_shmget: Self = Self::new(bindings::LINUX___NR_shmget);
    pub const NR_shmat: Self = Self::new(bindings::LINUX___NR_shmat);
    pub const NR_shmctl: Self = Self::new(bindings::LINUX___NR_shmctl);
    pub const NR_dup: Self = Self::new(bindings::LINUX___NR_dup);
    pub const NR_dup2: Self = Self::new(bindings::LINUX___NR_dup2);
    pub const NR_pause: Self = Self::new(bindings::LINUX___NR_pause);
    pub const NR_nanosleep: Self = Self::new(bindings::LINUX___NR_nanosleep);
    pub const NR_getitimer: Self = Self::new(bindings::LINUX___NR_getitimer);
    pub const NR_alarm: Self = Self::new(bindings::LINUX___NR_alarm);
    pub const NR_setitimer: Self = Self::new(bindings::LINUX___NR_setitimer);
    pub const NR_getpid: Self = Self::new(bindings::LINUX___NR_getpid);
    pub const NR_sendfile: Self = Self::new(bindings::LINUX___NR_sendfile);
    pub const NR_socket: Self = Self::new(bindings::LINUX___NR_socket);
    pub const NR_connect: Self = Self::new(bindings::LINUX___NR_connect);
    pub const NR_accept: Self = Self::new(bindings::LINUX___NR_accept);
    pub const NR_sendto: Self = Self::new(bindings::LINUX___NR_sendto);
    pub const NR_recvfrom: Self = Self::new(bindings::LINUX___NR_recvfrom);
    pub const NR_sendmsg: Self = Self::new(bindings::LINUX___NR_sendmsg);
    pub const NR_recvmsg: Self = Self::new(bindings::LINUX___NR_recvmsg);
    pub const NR_shutdown: Self = Self::new(bindings::LINUX___NR_shutdown);
    pub const NR_bind: Self = Self::new(bindings::LINUX___NR_bind);
    pub const NR_listen: Self = Self::new(bindings::LINUX___NR_listen);
    pub const NR_getsockname: Self = Self::new(bindings::LINUX___NR_getsockname);
    pub const NR_getpeername: Self = Self::new(bindings::LINUX___NR_getpeername);
    pub const NR_socketpair: Self = Self::new(bindings::LINUX___NR_socketpair);
    pub const NR_setsockopt: Self = Self::new(bindings::LINUX___NR_setsockopt);
    pub const NR_getsockopt: Self = Self::new(bindings::LINUX___NR_getsockopt);
    pub const NR_clone: Self = Self::new(bindings::LINUX___NR_clone);
    pub const NR_fork: Self = Self::new(bindings::LINUX___NR_fork);
    pub const NR_vfork: Self = Self::new(bindings::LINUX___NR_vfork);
    pub const NR_execve: Self = Self::new(bindings::LINUX___NR_execve);
    pub const NR_exit: Self = Self::new(bindings::LINUX___NR_exit);
    pub const NR_wait4: Self = Self::new(bindings::LINUX___NR_wait4);
    pub const NR_kill: Self = Self::new(bindings::LINUX___NR_kill);
    pub const NR_uname: Self = Self::new(bindings::LINUX___NR_uname);
    pub const NR_semget: Self = Self::new(bindings::LINUX___NR_semget);
    pub const NR_semop: Self = Self::new(bindings::LINUX___NR_semop);
    pub const NR_semctl: Self = Self::new(bindings::LINUX___NR_semctl);
    pub const NR_shmdt: Self = Self::new(bindings::LINUX___NR_shmdt);
    pub const NR_msgget: Self = Self::new(bindings::LINUX___NR_msgget);
    pub const NR_msgsnd: Self = Self::new(bindings::LINUX___NR_msgsnd);
    pub const NR_msgrcv: Self = Self::new(bindings::LINUX___NR_msgrcv);
    pub const NR_msgctl: Self = Self::new(bindings::LINUX___NR_msgctl);
    pub const NR_fcntl: Self = Self::new(bindings::LINUX___NR_fcntl);
    pub const NR_flock: Self = Self::new(bindings::LINUX___NR_flock);
    pub const NR_fsync: Self = Self::new(bindings::LINUX___NR_fsync);
    pub const NR_fdatasync: Self = Self::new(bindings::LINUX___NR_fdatasync);
    pub const NR_truncate: Self = Self::new(bindings::LINUX___NR_truncate);
    pub const NR_ftruncate: Self = Self::new(bindings::LINUX___NR_ftruncate);
    pub const NR_getdents: Self = Self::new(bindings::LINUX___NR_getdents);
    pub const NR_getcwd: Self = Self::new(bindings::LINUX___NR_getcwd);
    pub const NR_chdir: Self = Self::new(bindings::LINUX___NR_chdir);
    pub const NR_fchdir: Self = Self::new(bindings::LINUX___NR_fchdir);
    pub const NR_rename: Self = Self::new(bindings::LINUX___NR_rename);
    pub const NR_mkdir: Self = Self::new(bindings::LINUX___NR_mkdir);
    pub const NR_rmdir: Self = Self::new(bindings::LINUX___NR_rmdir);
    pub const NR_creat: Self = Self::new(bindings::LINUX___NR_creat);
    pub const NR_link: Self = Self::new(bindings::LINUX___NR_link);
    pub const NR_unlink: Self = Self::new(bindings::LINUX___NR_unlink);
    pub const NR_symlink: Self = Self::new(bindings::LINUX___NR_symlink);
    pub const NR_readlink: Self = Self::new(bindings::LINUX___NR_readlink);
    pub const NR_chmod: Self = Self::new(bindings::LINUX___NR_chmod);
    pub const NR_fchmod: Self = Self::new(bindings::LINUX___NR_fchmod);
    pub const NR_chown: Self = Self::new(bindings::LINUX___NR_chown);
    pub const NR_fchown: Self = Self::new(bindings::LINUX___NR_fchown);
    pub const NR_lchown: Self = Self::new(bindings::LINUX___NR_lchown);
    pub const NR_umask: Self = Self::new(bindings::LINUX___NR_umask);
    pub const NR_gettimeofday: Self = Self::new(bindings::LINUX___NR_gettimeofday);
    pub const NR_getrlimit: Self = Self::new(bindings::LINUX___NR_getrlimit);
    pub const NR_getrusage: Self = Self::new(bindings::LINUX___NR_getrusage);
    pub const NR_sysinfo: Self = Self::new(bindings::LINUX___NR_sysinfo);
    pub const NR_times: Self = Self::new(bindings::LINUX___NR_times);
    pub const NR_ptrace: Self = Self::new(bindings::LINUX___NR_ptrace);
    pub const NR_getuid: Self = Self::new(bindings::LINUX___NR_getuid);
    pub const NR_syslog: Self = Self::new(bindings::LINUX___NR_syslog);
    pub const NR_getgid: Self = Self::new(bindings::LINUX___NR_getgid);
    pub const NR_setuid: Self = Self::new(bindings::LINUX___NR_setuid);
    pub const NR_setgid: Self = Self::new(bindings::LINUX___NR_setgid);
    pub const NR_geteuid: Self = Self::new(bindings::LINUX___NR_geteuid);
    pub const NR_getegid: Self = Self::new(bindings::LINUX___NR_getegid);
    pub const NR_setpgid: Self = Self::new(bindings::LINUX___NR_setpgid);
    pub const NR_getppid: Self = Self::new(bindings::LINUX___NR_getppid);
    pub const NR_getpgrp: Self = Self::new(bindings::LINUX___NR_getpgrp);
    pub const NR_setsid: Self = Self::new(bindings::LINUX___NR_setsid);
    pub const NR_setreuid: Self = Self::new(bindings::LINUX___NR_setreuid);
    pub const NR_setregid: Self = Self::new(bindings::LINUX___NR_setregid);
    pub const NR_getgroups: Self = Self::new(bindings::LINUX___NR_getgroups);
    pub const NR_setgroups: Self = Self::new(bindings::LINUX___NR_setgroups);
    pub const NR_setresuid: Self = Self::new(bindings::LINUX___NR_setresuid);
    pub const NR_getresuid: Self = Self::new(bindings::LINUX___NR_getresuid);
    pub const NR_setresgid: Self = Self::new(bindings::LINUX___NR_setresgid);
    pub const NR_getresgid: Self = Self::new(bindings::LINUX___NR_getresgid);
    pub const NR_getpgid: Self = Self::new(bindings::LINUX___NR_getpgid);
    pub const NR_setfsuid: Self = Self::new(bindings::LINUX___NR_setfsuid);
    pub const NR_setfsgid: Self = Self::new(bindings::LINUX___NR_setfsgid);
    pub const NR_getsid: Self = Self::new(bindings::LINUX___NR_getsid);
    pub const NR_capget: Self = Self::new(bindings::LINUX___NR_capget);
    pub const NR_capset: Self = Self::new(bindings::LINUX___NR_capset);
    pub const NR_rt_sigpending: Self = Self::new(bindings::LINUX___NR_rt_sigpending);
    pub const NR_rt_sigtimedwait: Self = Self::new(bindings::LINUX___NR_rt_sigtimedwait);
    pub const NR_rt_sigqueueinfo: Self = Self::new(bindings::LINUX___NR_rt_sigqueueinfo);
    pub const NR_rt_sigsuspend: Self = Self::new(bindings::LINUX___NR_rt_sigsuspend);
    pub const NR_sigaltstack: Self = Self::new(bindings::LINUX___NR_sigaltstack);
    pub const NR_utime: Self = Self::new(bindings::LINUX___NR_utime);
    pub const NR_mknod: Self = Self::new(bindings::LINUX___NR_mknod);
    pub const NR_uselib: Self = Self::new(bindings::LINUX___NR_uselib);
    pub const NR_personality: Self = Self::new(bindings::LINUX___NR_personality);
    pub const NR_ustat: Self = Self::new(bindings::LINUX___NR_ustat);
    pub const NR_statfs: Self = Self::new(bindings::LINUX___NR_statfs);
    pub const NR_fstatfs: Self = Self::new(bindings::LINUX___NR_fstatfs);
    pub const NR_sysfs: Self = Self::new(bindings::LINUX___NR_sysfs);
    pub const NR_getpriority: Self = Self::new(bindings::LINUX___NR_getpriority);
    pub const NR_setpriority: Self = Self::new(bindings::LINUX___NR_setpriority);
    pub const NR_sched_setparam: Self = Self::new(bindings::LINUX___NR_sched_setparam);
    pub const NR_sched_getparam: Self = Self::new(bindings::LINUX___NR_sched_getparam);
    pub const NR_sched_setscheduler: Self = Self::new(bindings::LINUX___NR_sched_setscheduler);
    pub const NR_sched_getscheduler: Self = Self::new(bindings::LINUX___NR_sched_getscheduler);
    pub const NR_sched_get_priority_max: Self =
        Self::new(bindings::LINUX___NR_sched_get_priority_max);
    pub const NR_sched_get_priority_min: Self =
        Self::new(bindings::LINUX___NR_sched_get_priority_min);
    pub const NR_sched_rr_get_interval: Self =
        Self::new(bindings::LINUX___NR_sched_rr_get_interval);
    pub const NR_mlock: Self = Self::new(bindings::LINUX___NR_mlock);
    pub const NR_munlock: Self = Self::new(bindings::LINUX___NR_munlock);
    pub const NR_mlockall: Self = Self::new(bindings::LINUX___NR_mlockall);
    pub const NR_munlockall: Self = Self::new(bindings::LINUX___NR_munlockall);
    pub const NR_vhangup: Self = Self::new(bindings::LINUX___NR_vhangup);
    pub const NR_modify_ldt: Self = Self::new(bindings::LINUX___NR_modify_ldt);
    pub const NR_pivot_root: Self = Self::new(bindings::LINUX___NR_pivot_root);
    pub const NR__sysctl: Self = Self::new(bindings::LINUX___NR__sysctl);
    pub const NR_prctl: Self = Self::new(bindings::LINUX___NR_prctl);
    pub const NR_arch_prctl: Self = Self::new(bindings::LINUX___NR_arch_prctl);
    pub const NR_adjtimex: Self = Self::new(bindings::LINUX___NR_adjtimex);
    pub const NR_setrlimit: Self = Self::new(bindings::LINUX___NR_setrlimit);
    pub const NR_chroot: Self = Self::new(bindings::LINUX___NR_chroot);
    pub const NR_sync: Self = Self::new(bindings::LINUX___NR_sync);
    pub const NR_acct: Self = Self::new(bindings::LINUX___NR_acct);
    pub const NR_settimeofday: Self = Self::new(bindings::LINUX___NR_settimeofday);
    pub const NR_mount: Self = Self::new(bindings::LINUX___NR_mount);
    pub const NR_umount2: Self = Self::new(bindings::LINUX___NR_umount2);
    pub const NR_swapon: Self = Self::new(bindings::LINUX___NR_swapon);
    pub const NR_swapoff: Self = Self::new(bindings::LINUX___NR_swapoff);
    pub const NR_reboot: Self = Self::new(bindings::LINUX___NR_reboot);
    pub const NR_sethostname: Self = Self::new(bindings::LINUX___NR_sethostname);
    pub const NR_setdomainname: Self = Self::new(bindings::LINUX___NR_setdomainname);
    pub const NR_iopl: Self = Self::new(bindings::LINUX___NR_iopl);
    pub const NR_ioperm: Self = Self::new(bindings::LINUX___NR_ioperm);
    pub const NR_create_module: Self = Self::new(bindings::LINUX___NR_create_module);
    pub const NR_init_module: Self = Self::new(bindings::LINUX___NR_init_module);
    pub const NR_delete_module: Self = Self::new(bindings::LINUX___NR_delete_module);
    pub const NR_get_kernel_syms: Self = Self::new(bindings::LINUX___NR_get_kernel_syms);
    pub const NR_query_module: Self = Self::new(bindings::LINUX___NR_query_module);
    pub const NR_quotactl: Self = Self::new(bindings::LINUX___NR_quotactl);
    pub const NR_nfsservctl: Self = Self::new(bindings::LINUX___NR_nfsservctl);
    pub const NR_getpmsg: Self = Self::new(bindings::LINUX___NR_getpmsg);
    pub const NR_putpmsg: Self = Self::new(bindings::LINUX___NR_putpmsg);
    pub const NR_afs_syscall: Self = Self::new(bindings::LINUX___NR_afs_syscall);
    pub const NR_tuxcall: Self = Self::new(bindings::LINUX___NR_tuxcall);
    pub const NR_security: Self = Self::new(bindings::LINUX___NR_security);
    pub const NR_gettid: Self = Self::new(bindings::LINUX___NR_gettid);
    pub const NR_readahead: Self = Self::new(bindings::LINUX___NR_readahead);
    pub const NR_setxattr: Self = Self::new(bindings::LINUX___NR_setxattr);
    pub const NR_lsetxattr: Self = Self::new(bindings::LINUX___NR_lsetxattr);
    pub const NR_fsetxattr: Self = Self::new(bindings::LINUX___NR_fsetxattr);
    pub const NR_getxattr: Self = Self::new(bindings::LINUX___NR_getxattr);
    pub const NR_lgetxattr: Self = Self::new(bindings::LINUX___NR_lgetxattr);
    pub const NR_fgetxattr: Self = Self::new(bindings::LINUX___NR_fgetxattr);
    pub const NR_listxattr: Self = Self::new(bindings::LINUX___NR_listxattr);
    pub const NR_llistxattr: Self = Self::new(bindings::LINUX___NR_llistxattr);
    pub const NR_flistxattr: Self = Self::new(bindings::LINUX___NR_flistxattr);
    pub const NR_removexattr: Self = Self::new(bindings::LINUX___NR_removexattr);
    pub const NR_lremovexattr: Self = Self::new(bindings::LINUX___NR_lremovexattr);
    pub const NR_fremovexattr: Self = Self::new(bindings::LINUX___NR_fremovexattr);
    pub const NR_tkill: Self = Self::new(bindings::LINUX___NR_tkill);
    pub const NR_time: Self = Self::new(bindings::LINUX___NR_time);
    pub const NR_futex: Self = Self::new(bindings::LINUX___NR_futex);
    pub const NR_sched_setaffinity: Self = Self::new(bindings::LINUX___NR_sched_setaffinity);
    pub const NR_sched_getaffinity: Self = Self::new(bindings::LINUX___NR_sched_getaffinity);
    pub const NR_set_thread_area: Self = Self::new(bindings::LINUX___NR_set_thread_area);
    pub const NR_io_setup: Self = Self::new(bindings::LINUX___NR_io_setup);
    pub const NR_io_destroy: Self = Self::new(bindings::LINUX___NR_io_destroy);
    pub const NR_io_getevents: Self = Self::new(bindings::LINUX___NR_io_getevents);
    pub const NR_io_submit: Self = Self::new(bindings::LINUX___NR_io_submit);
    pub const NR_io_cancel: Self = Self::new(bindings::LINUX___NR_io_cancel);
    pub const NR_get_thread_area: Self = Self::new(bindings::LINUX___NR_get_thread_area);
    pub const NR_lookup_dcookie: Self = Self::new(bindings::LINUX___NR_lookup_dcookie);
    pub const NR_epoll_create: Self = Self::new(bindings::LINUX___NR_epoll_create);
    pub const NR_epoll_ctl_old: Self = Self::new(bindings::LINUX___NR_epoll_ctl_old);
    pub const NR_epoll_wait_old: Self = Self::new(bindings::LINUX___NR_epoll_wait_old);
    pub const NR_remap_file_pages: Self = Self::new(bindings::LINUX___NR_remap_file_pages);
    pub const NR_getdents64: Self = Self::new(bindings::LINUX___NR_getdents64);
    pub const NR_set_tid_address: Self = Self::new(bindings::LINUX___NR_set_tid_address);
    pub const NR_restart_syscall: Self = Self::new(bindings::LINUX___NR_restart_syscall);
    pub const NR_semtimedop: Self = Self::new(bindings::LINUX___NR_semtimedop);
    pub const NR_fadvise64: Self = Self::new(bindings::LINUX___NR_fadvise64);
    pub const NR_timer_create: Self = Self::new(bindings::LINUX___NR_timer_create);
    pub const NR_timer_settime: Self = Self::new(bindings::LINUX___NR_timer_settime);
    pub const NR_timer_gettime: Self = Self::new(bindings::LINUX___NR_timer_gettime);
    pub const NR_timer_getoverrun: Self = Self::new(bindings::LINUX___NR_timer_getoverrun);
    pub const NR_timer_delete: Self = Self::new(bindings::LINUX___NR_timer_delete);
    pub const NR_clock_settime: Self = Self::new(bindings::LINUX___NR_clock_settime);
    pub const NR_clock_gettime: Self = Self::new(bindings::LINUX___NR_clock_gettime);
    pub const NR_clock_getres: Self = Self::new(bindings::LINUX___NR_clock_getres);
    pub const NR_clock_nanosleep: Self = Self::new(bindings::LINUX___NR_clock_nanosleep);
    pub const NR_exit_group: Self = Self::new(bindings::LINUX___NR_exit_group);
    pub const NR_epoll_wait: Self = Self::new(bindings::LINUX___NR_epoll_wait);
    pub const NR_epoll_ctl: Self = Self::new(bindings::LINUX___NR_epoll_ctl);
    pub const NR_tgkill: Self = Self::new(bindings::LINUX___NR_tgkill);
    pub const NR_utimes: Self = Self::new(bindings::LINUX___NR_utimes);
    pub const NR_vserver: Self = Self::new(bindings::LINUX___NR_vserver);
    pub const NR_mbind: Self = Self::new(bindings::LINUX___NR_mbind);
    pub const NR_set_mempolicy: Self = Self::new(bindings::LINUX___NR_set_mempolicy);
    pub const NR_get_mempolicy: Self = Self::new(bindings::LINUX___NR_get_mempolicy);
    pub const NR_mq_open: Self = Self::new(bindings::LINUX___NR_mq_open);
    pub const NR_mq_unlink: Self = Self::new(bindings::LINUX___NR_mq_unlink);
    pub const NR_mq_timedsend: Self = Self::new(bindings::LINUX___NR_mq_timedsend);
    pub const NR_mq_timedreceive: Self = Self::new(bindings::LINUX___NR_mq_timedreceive);
    pub const NR_mq_notify: Self = Self::new(bindings::LINUX___NR_mq_notify);
    pub const NR_mq_getsetattr: Self = Self::new(bindings::LINUX___NR_mq_getsetattr);
    pub const NR_kexec_load: Self = Self::new(bindings::LINUX___NR_kexec_load);
    pub const NR_waitid: Self = Self::new(bindings::LINUX___NR_waitid);
    pub const NR_add_key: Self = Self::new(bindings::LINUX___NR_add_key);
    pub const NR_request_key: Self = Self::new(bindings::LINUX___NR_request_key);
    pub const NR_keyctl: Self = Self::new(bindings::LINUX___NR_keyctl);
    pub const NR_ioprio_set: Self = Self::new(bindings::LINUX___NR_ioprio_set);
    pub const NR_ioprio_get: Self = Self::new(bindings::LINUX___NR_ioprio_get);
    pub const NR_inotify_init: Self = Self::new(bindings::LINUX___NR_inotify_init);
    pub const NR_inotify_add_watch: Self = Self::new(bindings::LINUX___NR_inotify_add_watch);
    pub const NR_inotify_rm_watch: Self = Self::new(bindings::LINUX___NR_inotify_rm_watch);
    pub const NR_migrate_pages: Self = Self::new(bindings::LINUX___NR_migrate_pages);
    pub const NR_openat: Self = Self::new(bindings::LINUX___NR_openat);
    pub const NR_mkdirat: Self = Self::new(bindings::LINUX___NR_mkdirat);
    pub const NR_mknodat: Self = Self::new(bindings::LINUX___NR_mknodat);
    pub const NR_fchownat: Self = Self::new(bindings::LINUX___NR_fchownat);
    pub const NR_futimesat: Self = Self::new(bindings::LINUX___NR_futimesat);
    pub const NR_newfstatat: Self = Self::new(bindings::LINUX___NR_newfstatat);
    pub const NR_unlinkat: Self = Self::new(bindings::LINUX___NR_unlinkat);
    pub const NR_renameat: Self = Self::new(bindings::LINUX___NR_renameat);
    pub const NR_linkat: Self = Self::new(bindings::LINUX___NR_linkat);
    pub const NR_symlinkat: Self = Self::new(bindings::LINUX___NR_symlinkat);
    pub const NR_readlinkat: Self = Self::new(bindings::LINUX___NR_readlinkat);
    pub const NR_fchmodat: Self = Self::new(bindings::LINUX___NR_fchmodat);
    pub const NR_faccessat: Self = Self::new(bindings::LINUX___NR_faccessat);
    pub const NR_pselect6: Self = Self::new(bindings::LINUX___NR_pselect6);
    pub const NR_ppoll: Self = Self::new(bindings::LINUX___NR_ppoll);
    pub const NR_unshare: Self = Self::new(bindings::LINUX___NR_unshare);
    pub const NR_set_robust_list: Self = Self::new(bindings::LINUX___NR_set_robust_list);
    pub const NR_get_robust_list: Self = Self::new(bindings::LINUX___NR_get_robust_list);
    pub const NR_splice: Self = Self::new(bindings::LINUX___NR_splice);
    pub const NR_tee: Self = Self::new(bindings::LINUX___NR_tee);
    pub const NR_sync_file_range: Self = Self::new(bindings::LINUX___NR_sync_file_range);
    pub const NR_vmsplice: Self = Self::new(bindings::LINUX___NR_vmsplice);
    pub const NR_move_pages: Self = Self::new(bindings::LINUX___NR_move_pages);
    pub const NR_utimensat: Self = Self::new(bindings::LINUX___NR_utimensat);
    pub const NR_epoll_pwait: Self = Self::new(bindings::LINUX___NR_epoll_pwait);
    pub const NR_signalfd: Self = Self::new(bindings::LINUX___NR_signalfd);
    pub const NR_timerfd_create: Self = Self::new(bindings::LINUX___NR_timerfd_create);
    pub const NR_eventfd: Self = Self::new(bindings::LINUX___NR_eventfd);
    pub const NR_fallocate: Self = Self::new(bindings::LINUX___NR_fallocate);
    pub const NR_timerfd_settime: Self = Self::new(bindings::LINUX___NR_timerfd_settime);
    pub const NR_timerfd_gettime: Self = Self::new(bindings::LINUX___NR_timerfd_gettime);
    pub const NR_accept4: Self = Self::new(bindings::LINUX___NR_accept4);
    pub const NR_signalfd4: Self = Self::new(bindings::LINUX___NR_signalfd4);
    pub const NR_eventfd2: Self = Self::new(bindings::LINUX___NR_eventfd2);
    pub const NR_epoll_create1: Self = Self::new(bindings::LINUX___NR_epoll_create1);
    pub const NR_dup3: Self = Self::new(bindings::LINUX___NR_dup3);
    pub const NR_pipe2: Self = Self::new(bindings::LINUX___NR_pipe2);
    pub const NR_inotify_init1: Self = Self::new(bindings::LINUX___NR_inotify_init1);
    pub const NR_preadv: Self = Self::new(bindings::LINUX___NR_preadv);
    pub const NR_pwritev: Self = Self::new(bindings::LINUX___NR_pwritev);
    pub const NR_rt_tgsigqueueinfo: Self = Self::new(bindings::LINUX___NR_rt_tgsigqueueinfo);
    pub const NR_perf_event_open: Self = Self::new(bindings::LINUX___NR_perf_event_open);
    pub const NR_recvmmsg: Self = Self::new(bindings::LINUX___NR_recvmmsg);
    pub const NR_fanotify_init: Self = Self::new(bindings::LINUX___NR_fanotify_init);
    pub const NR_fanotify_mark: Self = Self::new(bindings::LINUX___NR_fanotify_mark);
    pub const NR_prlimit64: Self = Self::new(bindings::LINUX___NR_prlimit64);
    pub const NR_name_to_handle_at: Self = Self::new(bindings::LINUX___NR_name_to_handle_at);
    pub const NR_open_by_handle_at: Self = Self::new(bindings::LINUX___NR_open_by_handle_at);
    pub const NR_clock_adjtime: Self = Self::new(bindings::LINUX___NR_clock_adjtime);
    pub const NR_syncfs: Self = Self::new(bindings::LINUX___NR_syncfs);
    pub const NR_sendmmsg: Self = Self::new(bindings::LINUX___NR_sendmmsg);
    pub const NR_setns: Self = Self::new(bindings::LINUX___NR_setns);
    pub const NR_getcpu: Self = Self::new(bindings::LINUX___NR_getcpu);
    pub const NR_process_vm_readv: Self = Self::new(bindings::LINUX___NR_process_vm_readv);
    pub const NR_process_vm_writev: Self = Self::new(bindings::LINUX___NR_process_vm_writev);
    pub const NR_kcmp: Self = Self::new(bindings::LINUX___NR_kcmp);
    pub const NR_finit_module: Self = Self::new(bindings::LINUX___NR_finit_module);
    pub const NR_sched_setattr: Self = Self::new(bindings::LINUX___NR_sched_setattr);
    pub const NR_sched_getattr: Self = Self::new(bindings::LINUX___NR_sched_getattr);
    pub const NR_renameat2: Self = Self::new(bindings::LINUX___NR_renameat2);
    pub const NR_seccomp: Self = Self::new(bindings::LINUX___NR_seccomp);
    pub const NR_getrandom: Self = Self::new(bindings::LINUX___NR_getrandom);
    pub const NR_memfd_create: Self = Self::new(bindings::LINUX___NR_memfd_create);
    pub const NR_kexec_file_load: Self = Self::new(bindings::LINUX___NR_kexec_file_load);
    pub const NR_bpf: Self = Self::new(bindings::LINUX___NR_bpf);
    pub const NR_execveat: Self = Self::new(bindings::LINUX___NR_execveat);
    pub const NR_userfaultfd: Self = Self::new(bindings::LINUX___NR_userfaultfd);
    pub const NR_membarrier: Self = Self::new(bindings::LINUX___NR_membarrier);
    pub const NR_mlock2: Self = Self::new(bindings::LINUX___NR_mlock2);
    pub const NR_copy_file_range: Self = Self::new(bindings::LINUX___NR_copy_file_range);
    pub const NR_preadv2: Self = Self::new(bindings::LINUX___NR_preadv2);
    pub const NR_pwritev2: Self = Self::new(bindings::LINUX___NR_pwritev2);
    pub const NR_pkey_mprotect: Self = Self::new(bindings::LINUX___NR_pkey_mprotect);
    pub const NR_pkey_alloc: Self = Self::new(bindings::LINUX___NR_pkey_alloc);
    pub const NR_pkey_free: Self = Self::new(bindings::LINUX___NR_pkey_free);
    pub const NR_statx: Self = Self::new(bindings::LINUX___NR_statx);
    pub const NR_io_pgetevents: Self = Self::new(bindings::LINUX___NR_io_pgetevents);
    pub const NR_rseq: Self = Self::new(bindings::LINUX___NR_rseq);
    pub const NR_uretprobe: Self = Self::new(bindings::LINUX___NR_uretprobe);
    pub const NR_pidfd_send_signal: Self = Self::new(bindings::LINUX___NR_pidfd_send_signal);
    pub const NR_io_uring_setup: Self = Self::new(bindings::LINUX___NR_io_uring_setup);
    pub const NR_io_uring_enter: Self = Self::new(bindings::LINUX___NR_io_uring_enter);
    pub const NR_io_uring_register: Self = Self::new(bindings::LINUX___NR_io_uring_register);
    pub const NR_open_tree: Self = Self::new(bindings::LINUX___NR_open_tree);
    pub const NR_move_mount: Self = Self::new(bindings::LINUX___NR_move_mount);
    pub const NR_fsopen: Self = Self::new(bindings::LINUX___NR_fsopen);
    pub const NR_fsconfig: Self = Self::new(bindings::LINUX___NR_fsconfig);
    pub const NR_fsmount: Self = Self::new(bindings::LINUX___NR_fsmount);
    pub const NR_fspick: Self = Self::new(bindings::LINUX___NR_fspick);
    pub const NR_pidfd_open: Self = Self::new(bindings::LINUX___NR_pidfd_open);
    pub const NR_clone3: Self = Self::new(bindings::LINUX___NR_clone3);
    pub const NR_close_range: Self = Self::new(bindings::LINUX___NR_close_range);
    pub const NR_openat2: Self = Self::new(bindings::LINUX___NR_openat2);
    pub const NR_pidfd_getfd: Self = Self::new(bindings::LINUX___NR_pidfd_getfd);
    pub const NR_faccessat2: Self = Self::new(bindings::LINUX___NR_faccessat2);
    pub const NR_process_madvise: Self = Self::new(bindings::LINUX___NR_process_madvise);
    pub const NR_epoll_pwait2: Self = Self::new(bindings::LINUX___NR_epoll_pwait2);
    pub const NR_mount_setattr: Self = Self::new(bindings::LINUX___NR_mount_setattr);
    pub const NR_quotactl_fd: Self = Self::new(bindings::LINUX___NR_quotactl_fd);
    pub const NR_landlock_create_ruleset: Self =
        Self::new(bindings::LINUX___NR_landlock_create_ruleset);
    pub const NR_landlock_add_rule: Self = Self::new(bindings::LINUX___NR_landlock_add_rule);
    pub const NR_landlock_restrict_self: Self =
        Self::new(bindings::LINUX___NR_landlock_restrict_self);
    pub const NR_memfd_secret: Self = Self::new(bindings::LINUX___NR_memfd_secret);
    pub const NR_process_mrelease: Self = Self::new(bindings::LINUX___NR_process_mrelease);
    pub const NR_futex_waitv: Self = Self::new(bindings::LINUX___NR_futex_waitv);
    pub const NR_set_mempolicy_home_node: Self =
        Self::new(bindings::LINUX___NR_set_mempolicy_home_node);
    pub const NR_cachestat: Self = Self::new(bindings::LINUX___NR_cachestat);
    pub const NR_fchmodat2: Self = Self::new(bindings::LINUX___NR_fchmodat2);
    pub const NR_map_shadow_stack: Self = Self::new(bindings::LINUX___NR_map_shadow_stack);
    pub const NR_futex_wake: Self = Self::new(bindings::LINUX___NR_futex_wake);
    pub const NR_futex_wait: Self = Self::new(bindings::LINUX___NR_futex_wait);
    pub const NR_futex_requeue: Self = Self::new(bindings::LINUX___NR_futex_requeue);
    pub const NR_statmount: Self = Self::new(bindings::LINUX___NR_statmount);
    pub const NR_listmount: Self = Self::new(bindings::LINUX___NR_listmount);
    pub const NR_lsm_get_self_attr: Self = Self::new(bindings::LINUX___NR_lsm_get_self_attr);
    pub const NR_lsm_set_self_attr: Self = Self::new(bindings::LINUX___NR_lsm_set_self_attr);
    pub const NR_lsm_list_modules: Self = Self::new(bindings::LINUX___NR_lsm_list_modules);
    pub const NR_mseal: Self = Self::new(bindings::LINUX___NR_mseal);
    // NOTE: add new entries to `to_str` below

    pub const fn new(val: u32) -> Self {
        Self(val)
    }

    pub const fn val(&self) -> u32 {
        self.0
    }

    pub const fn to_str(&self) -> Option<&'static str> {
        Some(match *self {
            Self::NR_read => "read",
            Self::NR_write => "write",
            Self::NR_open => "open",
            Self::NR_close => "close",
            Self::NR_stat => "stat",
            Self::NR_fstat => "fstat",
            Self::NR_lstat => "lstat",
            Self::NR_poll => "poll",
            Self::NR_lseek => "lseek",
            Self::NR_mmap => "mmap",
            Self::NR_mprotect => "mprotect",
            Self::NR_munmap => "munmap",
            Self::NR_brk => "brk",
            Self::NR_rt_sigaction => "rt_sigaction",
            Self::NR_rt_sigprocmask => "rt_sigprocmask",
            Self::NR_rt_sigreturn => "rt_sigreturn",
            Self::NR_ioctl => "ioctl",
            Self::NR_pread64 => "pread64",
            Self::NR_pwrite64 => "pwrite64",
            Self::NR_readv => "readv",
            Self::NR_writev => "writev",
            Self::NR_access => "access",
            Self::NR_pipe => "pipe",
            Self::NR_select => "select",
            Self::NR_sched_yield => "sched_yield",
            Self::NR_mremap => "mremap",
            Self::NR_msync => "msync",
            Self::NR_mincore => "mincore",
            Self::NR_madvise => "madvise",
            Self::NR_shmget => "shmget",
            Self::NR_shmat => "shmat",
            Self::NR_shmctl => "shmctl",
            Self::NR_dup => "dup",
            Self::NR_dup2 => "dup2",
            Self::NR_pause => "pause",
            Self::NR_nanosleep => "nanosleep",
            Self::NR_getitimer => "getitimer",
            Self::NR_alarm => "alarm",
            Self::NR_setitimer => "setitimer",
            Self::NR_getpid => "getpid",
            Self::NR_sendfile => "sendfile",
            Self::NR_socket => "socket",
            Self::NR_connect => "connect",
            Self::NR_accept => "accept",
            Self::NR_sendto => "sendto",
            Self::NR_recvfrom => "recvfrom",
            Self::NR_sendmsg => "sendmsg",
            Self::NR_recvmsg => "recvmsg",
            Self::NR_shutdown => "shutdown",
            Self::NR_bind => "bind",
            Self::NR_listen => "listen",
            Self::NR_getsockname => "getsockname",
            Self::NR_getpeername => "getpeername",
            Self::NR_socketpair => "socketpair",
            Self::NR_setsockopt => "setsockopt",
            Self::NR_getsockopt => "getsockopt",
            Self::NR_clone => "clone",
            Self::NR_fork => "fork",
            Self::NR_vfork => "vfork",
            Self::NR_execve => "execve",
            Self::NR_exit => "exit",
            Self::NR_wait4 => "wait4",
            Self::NR_kill => "kill",
            Self::NR_uname => "uname",
            Self::NR_semget => "semget",
            Self::NR_semop => "semop",
            Self::NR_semctl => "semctl",
            Self::NR_shmdt => "shmdt",
            Self::NR_msgget => "msgget",
            Self::NR_msgsnd => "msgsnd",
            Self::NR_msgrcv => "msgrcv",
            Self::NR_msgctl => "msgctl",
            Self::NR_fcntl => "fcntl",
            Self::NR_flock => "flock",
            Self::NR_fsync => "fsync",
            Self::NR_fdatasync => "fdatasync",
            Self::NR_truncate => "truncate",
            Self::NR_ftruncate => "ftruncate",
            Self::NR_getdents => "getdents",
            Self::NR_getcwd => "getcwd",
            Self::NR_chdir => "chdir",
            Self::NR_fchdir => "fchdir",
            Self::NR_rename => "rename",
            Self::NR_mkdir => "mkdir",
            Self::NR_rmdir => "rmdir",
            Self::NR_creat => "creat",
            Self::NR_link => "link",
            Self::NR_unlink => "unlink",
            Self::NR_symlink => "symlink",
            Self::NR_readlink => "readlink",
            Self::NR_chmod => "chmod",
            Self::NR_fchmod => "fchmod",
            Self::NR_chown => "chown",
            Self::NR_fchown => "fchown",
            Self::NR_lchown => "lchown",
            Self::NR_umask => "umask",
            Self::NR_gettimeofday => "gettimeofday",
            Self::NR_getrlimit => "getrlimit",
            Self::NR_getrusage => "getrusage",
            Self::NR_sysinfo => "sysinfo",
            Self::NR_times => "times",
            Self::NR_ptrace => "ptrace",
            Self::NR_getuid => "getuid",
            Self::NR_syslog => "syslog",
            Self::NR_getgid => "getgid",
            Self::NR_setuid => "setuid",
            Self::NR_setgid => "setgid",
            Self::NR_geteuid => "geteuid",
            Self::NR_getegid => "getegid",
            Self::NR_setpgid => "setpgid",
            Self::NR_getppid => "getppid",
            Self::NR_getpgrp => "getpgrp",
            Self::NR_setsid => "setsid",
            Self::NR_setreuid => "setreuid",
            Self::NR_setregid => "setregid",
            Self::NR_getgroups => "getgroups",
            Self::NR_setgroups => "setgroups",
            Self::NR_setresuid => "setresuid",
            Self::NR_getresuid => "getresuid",
            Self::NR_setresgid => "setresgid",
            Self::NR_getresgid => "getresgid",
            Self::NR_getpgid => "getpgid",
            Self::NR_setfsuid => "setfsuid",
            Self::NR_setfsgid => "setfsgid",
            Self::NR_getsid => "getsid",
            Self::NR_capget => "capget",
            Self::NR_capset => "capset",
            Self::NR_rt_sigpending => "rt_sigpending",
            Self::NR_rt_sigtimedwait => "rt_sigtimedwait",
            Self::NR_rt_sigqueueinfo => "rt_sigqueueinfo",
            Self::NR_rt_sigsuspend => "rt_sigsuspend",
            Self::NR_sigaltstack => "sigaltstack",
            Self::NR_utime => "utime",
            Self::NR_mknod => "mknod",
            Self::NR_uselib => "uselib",
            Self::NR_personality => "personality",
            Self::NR_ustat => "ustat",
            Self::NR_statfs => "statfs",
            Self::NR_fstatfs => "fstatfs",
            Self::NR_sysfs => "sysfs",
            Self::NR_getpriority => "getpriority",
            Self::NR_setpriority => "setpriority",
            Self::NR_sched_setparam => "sched_setparam",
            Self::NR_sched_getparam => "sched_getparam",
            Self::NR_sched_setscheduler => "sched_setscheduler",
            Self::NR_sched_getscheduler => "sched_getscheduler",
            Self::NR_sched_get_priority_max => "sched_get_priority_max",
            Self::NR_sched_get_priority_min => "sched_get_priority_min",
            Self::NR_sched_rr_get_interval => "sched_rr_get_interval",
            Self::NR_mlock => "mlock",
            Self::NR_munlock => "munlock",
            Self::NR_mlockall => "mlockall",
            Self::NR_munlockall => "munlockall",
            Self::NR_vhangup => "vhangup",
            Self::NR_modify_ldt => "modify_ldt",
            Self::NR_pivot_root => "pivot_root",
            Self::NR__sysctl => "_sysctl",
            Self::NR_prctl => "prctl",
            Self::NR_arch_prctl => "arch_prctl",
            Self::NR_adjtimex => "adjtimex",
            Self::NR_setrlimit => "setrlimit",
            Self::NR_chroot => "chroot",
            Self::NR_sync => "sync",
            Self::NR_acct => "acct",
            Self::NR_settimeofday => "settimeofday",
            Self::NR_mount => "mount",
            Self::NR_umount2 => "umount2",
            Self::NR_swapon => "swapon",
            Self::NR_swapoff => "swapoff",
            Self::NR_reboot => "reboot",
            Self::NR_sethostname => "sethostname",
            Self::NR_setdomainname => "setdomainname",
            Self::NR_iopl => "iopl",
            Self::NR_ioperm => "ioperm",
            Self::NR_create_module => "create_module",
            Self::NR_init_module => "init_module",
            Self::NR_delete_module => "delete_module",
            Self::NR_get_kernel_syms => "get_kernel_syms",
            Self::NR_query_module => "query_module",
            Self::NR_quotactl => "quotactl",
            Self::NR_nfsservctl => "nfsservctl",
            Self::NR_getpmsg => "getpmsg",
            Self::NR_putpmsg => "putpmsg",
            Self::NR_afs_syscall => "afs_syscall",
            Self::NR_tuxcall => "tuxcall",
            Self::NR_security => "security",
            Self::NR_gettid => "gettid",
            Self::NR_readahead => "readahead",
            Self::NR_setxattr => "setxattr",
            Self::NR_lsetxattr => "lsetxattr",
            Self::NR_fsetxattr => "fsetxattr",
            Self::NR_getxattr => "getxattr",
            Self::NR_lgetxattr => "lgetxattr",
            Self::NR_fgetxattr => "fgetxattr",
            Self::NR_listxattr => "listxattr",
            Self::NR_llistxattr => "llistxattr",
            Self::NR_flistxattr => "flistxattr",
            Self::NR_removexattr => "removexattr",
            Self::NR_lremovexattr => "lremovexattr",
            Self::NR_fremovexattr => "fremovexattr",
            Self::NR_tkill => "tkill",
            Self::NR_time => "time",
            Self::NR_futex => "futex",
            Self::NR_sched_setaffinity => "sched_setaffinity",
            Self::NR_sched_getaffinity => "sched_getaffinity",
            Self::NR_set_thread_area => "set_thread_area",
            Self::NR_io_setup => "io_setup",
            Self::NR_io_destroy => "io_destroy",
            Self::NR_io_getevents => "io_getevents",
            Self::NR_io_submit => "io_submit",
            Self::NR_io_cancel => "io_cancel",
            Self::NR_get_thread_area => "get_thread_area",
            Self::NR_lookup_dcookie => "lookup_dcookie",
            Self::NR_epoll_create => "epoll_create",
            Self::NR_epoll_ctl_old => "epoll_ctl_old",
            Self::NR_epoll_wait_old => "epoll_wait_old",
            Self::NR_remap_file_pages => "remap_file_pages",
            Self::NR_getdents64 => "getdents64",
            Self::NR_set_tid_address => "set_tid_address",
            Self::NR_restart_syscall => "restart_syscall",
            Self::NR_semtimedop => "semtimedop",
            Self::NR_fadvise64 => "fadvise64",
            Self::NR_timer_create => "timer_create",
            Self::NR_timer_settime => "timer_settime",
            Self::NR_timer_gettime => "timer_gettime",
            Self::NR_timer_getoverrun => "timer_getoverrun",
            Self::NR_timer_delete => "timer_delete",
            Self::NR_clock_settime => "clock_settime",
            Self::NR_clock_gettime => "clock_gettime",
            Self::NR_clock_getres => "clock_getres",
            Self::NR_clock_nanosleep => "clock_nanosleep",
            Self::NR_exit_group => "exit_group",
            Self::NR_epoll_wait => "epoll_wait",
            Self::NR_epoll_ctl => "epoll_ctl",
            Self::NR_tgkill => "tgkill",
            Self::NR_utimes => "utimes",
            Self::NR_vserver => "vserver",
            Self::NR_mbind => "mbind",
            Self::NR_set_mempolicy => "set_mempolicy",
            Self::NR_get_mempolicy => "get_mempolicy",
            Self::NR_mq_open => "mq_open",
            Self::NR_mq_unlink => "mq_unlink",
            Self::NR_mq_timedsend => "mq_timedsend",
            Self::NR_mq_timedreceive => "mq_timedreceive",
            Self::NR_mq_notify => "mq_notify",
            Self::NR_mq_getsetattr => "mq_getsetattr",
            Self::NR_kexec_load => "kexec_load",
            Self::NR_waitid => "waitid",
            Self::NR_add_key => "add_key",
            Self::NR_request_key => "request_key",
            Self::NR_keyctl => "keyctl",
            Self::NR_ioprio_set => "ioprio_set",
            Self::NR_ioprio_get => "ioprio_get",
            Self::NR_inotify_init => "inotify_init",
            Self::NR_inotify_add_watch => "inotify_add_watch",
            Self::NR_inotify_rm_watch => "inotify_rm_watch",
            Self::NR_migrate_pages => "migrate_pages",
            Self::NR_openat => "openat",
            Self::NR_mkdirat => "mkdirat",
            Self::NR_mknodat => "mknodat",
            Self::NR_fchownat => "fchownat",
            Self::NR_futimesat => "futimesat",
            Self::NR_newfstatat => "newfstatat",
            Self::NR_unlinkat => "unlinkat",
            Self::NR_renameat => "renameat",
            Self::NR_linkat => "linkat",
            Self::NR_symlinkat => "symlinkat",
            Self::NR_readlinkat => "readlinkat",
            Self::NR_fchmodat => "fchmodat",
            Self::NR_faccessat => "faccessat",
            Self::NR_pselect6 => "pselect6",
            Self::NR_ppoll => "ppoll",
            Self::NR_unshare => "unshare",
            Self::NR_set_robust_list => "set_robust_list",
            Self::NR_get_robust_list => "get_robust_list",
            Self::NR_splice => "splice",
            Self::NR_tee => "tee",
            Self::NR_sync_file_range => "sync_file_range",
            Self::NR_vmsplice => "vmsplice",
            Self::NR_move_pages => "move_pages",
            Self::NR_utimensat => "utimensat",
            Self::NR_epoll_pwait => "epoll_pwait",
            Self::NR_signalfd => "signalfd",
            Self::NR_timerfd_create => "timerfd_create",
            Self::NR_eventfd => "eventfd",
            Self::NR_fallocate => "fallocate",
            Self::NR_timerfd_settime => "timerfd_settime",
            Self::NR_timerfd_gettime => "timerfd_gettime",
            Self::NR_accept4 => "accept4",
            Self::NR_signalfd4 => "signalfd4",
            Self::NR_eventfd2 => "eventfd2",
            Self::NR_epoll_create1 => "epoll_create1",
            Self::NR_dup3 => "dup3",
            Self::NR_pipe2 => "pipe2",
            Self::NR_inotify_init1 => "inotify_init1",
            Self::NR_preadv => "preadv",
            Self::NR_pwritev => "pwritev",
            Self::NR_rt_tgsigqueueinfo => "rt_tgsigqueueinfo",
            Self::NR_perf_event_open => "perf_event_open",
            Self::NR_recvmmsg => "recvmmsg",
            Self::NR_fanotify_init => "fanotify_init",
            Self::NR_fanotify_mark => "fanotify_mark",
            Self::NR_prlimit64 => "prlimit64",
            Self::NR_name_to_handle_at => "name_to_handle_at",
            Self::NR_open_by_handle_at => "open_by_handle_at",
            Self::NR_clock_adjtime => "clock_adjtime",
            Self::NR_syncfs => "syncfs",
            Self::NR_sendmmsg => "sendmmsg",
            Self::NR_setns => "setns",
            Self::NR_getcpu => "getcpu",
            Self::NR_process_vm_readv => "process_vm_readv",
            Self::NR_process_vm_writev => "process_vm_writev",
            Self::NR_kcmp => "kcmp",
            Self::NR_finit_module => "finit_module",
            Self::NR_sched_setattr => "sched_setattr",
            Self::NR_sched_getattr => "sched_getattr",
            Self::NR_renameat2 => "renameat2",
            Self::NR_seccomp => "seccomp",
            Self::NR_getrandom => "getrandom",
            Self::NR_memfd_create => "memfd_create",
            Self::NR_kexec_file_load => "kexec_file_load",
            Self::NR_bpf => "bpf",
            Self::NR_execveat => "execveat",
            Self::NR_userfaultfd => "userfaultfd",
            Self::NR_membarrier => "membarrier",
            Self::NR_mlock2 => "mlock2",
            Self::NR_copy_file_range => "copy_file_range",
            Self::NR_preadv2 => "preadv2",
            Self::NR_pwritev2 => "pwritev2",
            Self::NR_pkey_mprotect => "pkey_mprotect",
            Self::NR_pkey_alloc => "pkey_alloc",
            Self::NR_pkey_free => "pkey_free",
            Self::NR_statx => "statx",
            Self::NR_io_pgetevents => "io_pgetevents",
            Self::NR_rseq => "rseq",
            Self::NR_uretprobe => "uretprobe",
            Self::NR_pidfd_send_signal => "pidfd_send_signal",
            Self::NR_io_uring_setup => "io_uring_setup",
            Self::NR_io_uring_enter => "io_uring_enter",
            Self::NR_io_uring_register => "io_uring_register",
            Self::NR_open_tree => "open_tree",
            Self::NR_move_mount => "move_mount",
            Self::NR_fsopen => "fsopen",
            Self::NR_fsconfig => "fsconfig",
            Self::NR_fsmount => "fsmount",
            Self::NR_fspick => "fspick",
            Self::NR_pidfd_open => "pidfd_open",
            Self::NR_clone3 => "clone3",
            Self::NR_close_range => "close_range",
            Self::NR_openat2 => "openat2",
            Self::NR_pidfd_getfd => "pidfd_getfd",
            Self::NR_faccessat2 => "faccessat2",
            Self::NR_process_madvise => "process_madvise",
            Self::NR_epoll_pwait2 => "epoll_pwait2",
            Self::NR_mount_setattr => "mount_setattr",
            Self::NR_quotactl_fd => "quotactl_fd",
            Self::NR_landlock_create_ruleset => "landlock_create_ruleset",
            Self::NR_landlock_add_rule => "landlock_add_rule",
            Self::NR_landlock_restrict_self => "landlock_restrict_self",
            Self::NR_memfd_secret => "memfd_secret",
            Self::NR_process_mrelease => "process_mrelease",
            Self::NR_futex_waitv => "futex_waitv",
            Self::NR_set_mempolicy_home_node => "set_mempolicy_home_node",
            Self::NR_cachestat => "NR_cachestat",
            Self::NR_fchmodat2 => "NR_fchmodat2",
            Self::NR_map_shadow_stack => "NR_map_shadow_stack",
            Self::NR_futex_wake => "NR_futex_wake",
            Self::NR_futex_wait => "NR_futex_wait",
            Self::NR_futex_requeue => "NR_futex_requeue",
            Self::NR_statmount => "NR_statmount",
            Self::NR_listmount => "NR_listmount",
            Self::NR_lsm_get_self_attr => "NR_lsm_get_self_attr",
            Self::NR_lsm_set_self_attr => "NR_lsm_set_self_attr",
            Self::NR_lsm_list_modules => "NR_lsm_list_modules",
            Self::NR_mseal => "NR_mseal",
            _ => return None,
        })
    }
}

impl core::fmt::Display for SyscallNum {
    fn fmt(&self, formatter: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
        match self.to_str() {
            Some(s) => formatter.write_str(s),
            None => write!(formatter, "(unknown syscall {})", self.0),
        }
    }
}

impl core::fmt::Debug for SyscallNum {
    fn fmt(&self, formatter: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
        match self.to_str() {
            Some(s) => write!(formatter, "SyscallNum::{s}"),
            None => write!(formatter, "SyscallNum::<{}>", self.0),
        }
    }
}

impl From<SyscallNum> for u32 {
    #[inline]
    fn from(val: SyscallNum) -> Self {
        val.0
    }
}

impl From<u32> for SyscallNum {
    #[inline]
    fn from(val: u32) -> Self {
        Self::new(val)
    }
}
